import FileSaver from "file-saver";
const XLSX = require("xlsx");

/**
 * el-table数据导出execl文件
 *
 * @param {*} id:el-table元素id
 * @param {*} fileName :导出文件名称
 * @returns
 */
function exportExecl(id, fileName) {
  let excelName = fileName || "导出表格.xlsx";
  var xlsxParam = { raw: true };
  let tables = document.getElementById(id);
  if (!tables) return;
  tables = document.getElementById(id).cloneNode(true);
  // 移除固定列，防止重复生成表格
  if (tables.querySelector(".el-table__fixed") !== null) {
    tables.removeChild(tables.querySelector(".el-table__fixed"));
  }
  let table_book = XLSX.utils.table_to_book(tables, xlsxParam);
  var table_write = XLSX.write(table_book, {
    bookType: "xlsx",
    bookSST: true,
    type: "array",
  });
  try {
    FileSaver.saveAs(
      new Blob([table_write], { type: "application/octet-stream" }),
      excelName
    );
  } catch (e) {
    console.log(e, table_write);
  }
  return table_write;
}
export default exportExecl;
